package com.youlu.campus.activity.service;

import com.youlu.campus.activity.entity.ActivityLotteryConfig;
import com.youlu.campus.activity.entity.ActivityLotteryConfigVo;
import com.youlu.campus.activity.entity.ActivityLotteryVo;

/**
 * 抽奖配置服务接口
 */
public interface ActivityLotteryConfigService {

    /**
     * 通过ID获取抽奖配置
     *
     * @param activityId
     * @return
     */
    ActivityLotteryConfig findByActivityId(String activityId);

    /**
     * 通过活动ID获取抽奖配置
     *
     * @param activityId
     * @return
     */
    ActivityLotteryConfigVo info(String activityId);


    /**
     * 通过活动ID获取开启的抽奖配置
     *
     * @param activityId
     * @return
     */
    ActivityLotteryVo infoByEnable(String activityId);

    /**
     * 更新/添加抽奖配置
     *
     * @param config
     * @return
     */
    ActivityLotteryConfigVo save(ActivityLotteryConfigVo config);

    /**
     * 更新邀请数量
     */
    void updateInvitePoints(String activityId);

    /**
     * 更新别名
     *
     * @param activityId
     */
    void updatePointsAlias(String activityId);

    /**
     * 删除抽奖配置
     *
     * @param id
     * @return
     */
    boolean delete(String id);
}
